package org.qqcui.designpattern.patterns.flyweight;

/**
 * desc
 *
 * @author cuiqingqiang
 * @version 1.0
 * @date 2022/5/1 9:33
 **/
public class FlyWeight {

    public static void main(String[] args) {
        Integer x = Integer.valueOf(127); // 得到 x实例，类型为 Integer
        Integer y = new Integer(127);  //  得到 y 实例，类型为 Integer
        Integer z = Integer.valueOf(127);// ..
        Integer w = new Integer(127);

        System.out.println(x.equals(y)); // 比较大小，true
        System.out.println(x == y); // false，x和y不是同一个对象
        System.out.println(x == z); // true，-128--127之间的数值，都是从缓存中获取的
        System.out.println(w == x); // false
        System.out.println(w == y); // false

        Integer x1 = Integer.valueOf(200);
        Integer x2 = Integer.valueOf(200);
        System.out.println("x1==x2 " + (x1 == x2)); // false ??? 仍然new
    }
}
